package member;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import common.DBManager;

/**
 *	利用者情報を削除して利用者検索結果へ遷移する

 * @author wakabayashi
 *
 */
public class DeleteServlet extends HttpServlet
{
	Connection connection=null;
	Statement statement=null;

	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		req.setCharacterEncoding("UTF-8");
		resp.setContentType("text/html; charset=UTF-8");
		deleteInfo(req,resp);
	}

	@Override
	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		req.setCharacterEncoding("UTF-8");
		resp.setContentType("text/html; charset=UTF-8");
		deleteInfo(req,resp);


	}

	public void deleteInfo(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		String message 	= null;																			//	メッセージ
		//		削除する利用者のユーザ管理ＩＤを受け取る。
		String strId=req.getParameter("id");

		//		ユーザ管理ＩＤが空の場合
		//				メッセージに、「利用者を削除できません。」をセットし、利用者検索結果に遷移する。
		if (strId == null || strId.length() < 1) {
			message = "利用者を選択してください。";
		}
		else {
			int user_id = Integer.parseInt(strId);
			//			利用者テーブルのユーザ管理ＩＤが一致するレコードを更新する。
			//			削除フラグを「１」にする。
			try
			{
				connection=DBManager.getConnection();
				statement=connection.createStatement();
				statement.executeUpdate("UPDATE members SET DELETE_FLAG = 1 WHERE ID=" + user_id);

				message = "利用者を削除しました。";
			}
			catch (SQLException e)
			{
				System.out.println(e);
			}
			catch(Exception e)
			{
				System.out.println(e);
			}
			finally
			{
				if(statement!=null)
				{
					try
					{
						statement.close();
					}
					catch (SQLException e)
					{
						e.printStackTrace();
					}
				}

				if(connection!=null)
				{
					try
					{
						connection.close();
					}
					catch (SQLException e)
					{
						e.printStackTrace();
					}
				}
			}
			req.setAttribute("msg", message);

			//	利用者検索結果へ遷移する。
			RequestDispatcher requestDispather=req.getRequestDispatcher("/member/UserMemberSearchServlet");
			requestDispather.forward(req, resp);
		}
	}
}
